INTRODUCTION
Efforts to develop more efficient means to transmit or store information has included reducing informational requirements, that is, reducing the amount of information required to adequately represent a signal during transmission or storage, and reducing processing resource requirements, that is, reducing the amount of processing required to implement the encoding and decoding processes.
With respect to reducing informational requirements, many high-quality audio coding applications, for example, exploit various psychoacoustic effects. So called split-band coding techniques which divide the useful signal bandwidth into narrow bands with bandwidths approximating the human ear's critical bands can exploit psychoacoustic masking effects. Such split-band techniques divide the signal bandwidth with an analysis filter bank, process the signal passed by each filter band, and reconstruct a replica of the original signal with a synthesis filter bank.
Two common split-band coding techniques are subband coding and transform coding. These techniques reduce informational requirements in particular frequency bands such that noise caused by the resulting coding inaccuracy is rendered inaudible by other spectral components. Subband coders may be implemented by a bank of digital bandpass filters defining subbands of varying bandwidth. Transform coders may be implemented by any of several time-domain to frequency-domain transforms. One or more adjacent transform coefficients are grouped together to define "subbands" having effective bandwidths which are sums of individual transform coefficient bandwidths.
The mathematical basis for digital subband filter banks and block transforms is essentially the same. See Tribolet and Crochiere, "Frequency Domain Coding of Speech," IEEE Trans, Acoust., Speech, and Signal Proc, Oct., 1979, pp. 512-30. Each type of split-band processing can be expressed in terms of a transform applied to an interval or "block" of signal samples; therefore, throughout the following discussion, terms such as "filters" and "transforms" are generally interchangeable. The term "subband" refers to portions of the useful signal bandwidth whether implemented by a true subband coder or a transform coder.
With respect to reducing processing resource requirements, much improvement can be realized in many digital coding applications by reducing the computational complexity of subband filtering. Reduced computational complexity permits the implementation of systems which are less expensive to build, or which impose lower signal propagation delays through the system.
Many coding systems use single-sideband (SSB) filter banks. A "single-sideband" filter bank, as discussed in R. Crochiere and L. Rabiner, "Multirate Digital Signal Processing," Prentice-Hall, 1983, pp. 366-376, generates a spectral representation having component values which are either purely real or purely imaginary in response to real-valued input signal samples.
Two well known SSB analysis filter banks implemented by overlapping-block transforms permit perfect reconstruction with critical sampling using time-domain aliasing cancellation (TDAC). One filter bank, described in J. Princen and A. Bradley, "Analysis/Synthesis Filter Bank Design Based on Time Domain Aliasing Cancellation," IEEE Trans, on Acoust., Speech, Signal Proc., ASSP-34, 1986, pp. 1153-1161, comprises the alternate application of a modified Discrete Cosine Transform (DCT) with a modified Discrete Sine Transform (DST) and is described as the time-domain equivalent of an evenly-stacked critically-sampled single-sideband analysis-synthesis system. The modified DCT and modified DST are referred to collectively herein as the Evenly-stacked Time-Domain Aliasing Cancellation (E-TDAC) transform. The second filter bank, described in J. Princen, A. Johnson, and A. Bradley, "Subband/Transform Coding Using Filter Bank Designs Based on Time Domain Aliasing Cancellation," ICASSP 1987 Conf, Proc., May 1987, pp. 2161-64, is implemented by a single modified DCT and is described as the time-domain equivalent of an oddly-stacked critically sampled single-sideband analysis-synthesis system. It is referred to herein as the Oddly-stacked Time-Domain Aliasing Cancellation (O-TDAC) transform. Each of the TDAC analysis filter banks are applied to signal sample blocks which overlap but they achieve perfect reconstruction with critically sampling by effectively discarding some of the transform coefficients. The missing coefficients cause time-domain aliasing in a companion synthesis filter bank but the aliasing is cancelled by overlapping and adding the blocks generated by the synthesis filter bank.
The use of TDAC filter banks is very attractive in many coding application because these filter banks permit perfect reconstruction using overlapping-block transforms that are critically sampled and they can be implemented using reasonably efficient methods. For example, implementations that are more efficient than straight-forward computation methods are disclosed in S. Cramer and R. Gluth, "Computationally Efficient Real-Valued Filter Banks Based on a Modified O.sup.2 DFT." Signal Processing V; Theories and Applications, Elsevier Science Publishers B. V., 1990, pp. 585-588; H. Malvar, "Lapped Transforms for Efficient Transform/Subband Coding," IEEE Trans. Acoust., Speech, and Signal Proc., ASSP-38, June 1990, pp. 969-78; R. Gluth, "Regular FFT-Related Transform Kernels for DCT/DST-Based Polyphase Filter Banks," ICASSP 1991 Conf, Proc., vol. 3, May 1991, pp. 2205-2208; and P. Duhamel, Y. Mahieux, and J. Petit, "A Fast Algorithm for the Implementation of Filter Banks Based on Time Domain Aliasing Cancellation," ICASSP 1991 Conf, Proc., vol. 3, May 1991, pp. 2209-2212.
Each of these references describes implementations of filter banks which are applied to fixed-length blocks of signal samples, that is, blocks that have a number of samples N which does not vary from block to block. Unfortunately, the length of fixed-length blocks must be chosen to balance a trade off between the temporal and spectral resolution of the filter bank. On one hand, greater block lengths improve the selectivity or frequency-resolving power of a filter bank, and better filter selectivity generally improves the ability of a coder to exploit psychoacoustic masking effects. On the other hand, greater block lengths degrade the time-resolution of a subband filter bank. Low time-resolution can result in audible distortion artifacts when coder quantizing errors of signal events, such as transients, producing pre-transient and post-transient ringing which exceed the ear's temporal psychoacoustic masking interval. As a result of this trade off, it is desirable to implement adaptive-length filter banks that can be applied to signal sample blocks of varying length in order to optimize coder performance.
U.S. Pat. No. 5,297,236 describes reasonably efficient implementations of both fixed- and adaptive-length filter banks. In particular, implementations of E-TDAC and O-TDAC filter banks are disclosed; however, the efficiency of these implementations is not optimal and the techniques disclosed for O-TDAC filter banks are computationally more intensive than those disclosed for E-TDAC filter banks.